import { useUserStore } from '@/store/userStore'
import router from '@/router'
export function generateMenu(list: IMenuModel[]) {
    let level1: IMenuModelWithChildren[] = list.filter(item => item.parentId == 0);
    // 在操作引用类型的时候，可能需要自己手动复制一份，不然可能会数据冲突
    level1 = JSON.parse(JSON.stringify(level1));
    list.forEach(child => {
        level1.forEach(parent => {
            if (parent.id == child.parentId) {
                if (!parent.children) {
                    parent.children = []
                }
                parent.children.push(child)
            }
        })
    })
    return level1
}

export function clearPinia() {
    const userStore = useUserStore()
    // 在这里面分别把所有的pinia里面的数据清空
    userStore.clear();
    // 如果还有更多的 pinia ，后面继续调用清空方法就行
}

export function clearRoutes() {
    const userStore = useUserStore()
    // 遍历所有的 pinia里面的 权限数据，根据name把路由删除
    userStore.routesList.forEach(item => {
        router.removeRoute(item.name)
    })
}

export function logout() {
    // 删除token
    localStorage.removeItem('token')
    // 跳转登录页
    router.push('/login')
    // 清空 路由
    clearRoutes();
    // 清空 pinia
    clearPinia();
}


export function formateTime(time: string) {
    if (!time) return ''
    return time.replace('T', ' ').substring(0, 19);
}